Django 使用模板

模板作为公共页面,可以被其他页面引用并重写,可以更快速的编辑页面。

1,编辑myweb\web\views.py,内容如下:

from django.shortcuts import render

def home(request):
   
return render(request, 'home.html')


 

前面在介绍创建简单的页面时,导入的是HttpResponse,直接向页面输出内容,而这里导入的是render

 

2,将视图与网址对应

修改E:\myweb\myweb\urls.py:

from django.conf.urls import url
from django.contrib import admin
import view
from web import views
urlpatterns = [
    url(
r'^$', views.home),
]


 

3,在myweb\web目录中创建templates目录,在templates目录创建base.html,home.html。

Base.html将作为一个模板文件,所有的html文件都可以继承该文件,编辑base.html的内容如下:

<!DOCTYPE html>

<head>

<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">

<meta name="viewport" content="width=device-width, height=device-height,initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>李老道自学网</title>

<link rel="stylesheet" href="./static/css/style.css">

<link rel="shortcut icon" href="/static/favicon.ico">

</head>


<body>

<header class="g-hd">

<span class="logo nosign"><a href="/">李老道自学网</a></span> 

    {% block title %}

<div class="fr">李老道自学网</div>

{% endblock %}

</header>

<main class="g-mn">

{% block content %}

<div>李老道自学网</div>

{% endblock %}

</main>


</body>

</html>


 

模板中用到 {% block  xxx %},代表被继承引用后,是可以被替换的内容。如果不替换则会显示模板中的内容。以下home.html将继承base.html并替换{% block content %}中的内容。

编辑home.html的内容如下:

{% extends 'base.html' %}

{% block title %}

<nav>

<ul>

{# 显示所有分类 #}

<li><a href="?">测试基础</a></li>

                <li><a href="?">python2</a></li>

</ul>

</nav>

{% endblock %}


{% block content %}

<aside class="g-sd">

<section class="u-card">

<div class="card-hd">

<span class="card-tit">

{{ type_name }}

</span>

</div>

<div class="card-bd">

<ul class="m-btnList">

{# 显示分类下的章节 #}

<li><a href="?">测试相关概念</a></li>

</ul>

</div>

</section>

<section class="u-card">

<div class="card-hd">

<span class="card-tit">

说明

</span>

</div>

<div class="card-bd">

<ul class="m-btnList">

<li>

本站所有内容均是本人学习笔记,只是将学习过程记录下来,共大家分享,并非教学式教程。

如果您觉得此文章对您有帮助,求打赏:

</li>

</ul>

</div>

</section>

</aside>

<article class="m-article">

{# 显示章节下的文章 #}

xxxxxxxxxxx

</article>

{% endblock %}


这里{% extends 'base.html' %}代表继承base.html模板,而{% block title %},{% block content %}块中的内容将替换掉模板中的内容。


该文章对你有帮助吗,求分享转发: 分享到QQ空间 分享给QQ好友

 

 

粤ICP备19116230号
友情链接: 码农藏书阁 天天链